/**   
 * Copyright © 2016 公司名. All rights reserved.
 * 
 * @Title: IDictionary.java 
 * @Prject: LianniuMgrSev
 * @Package: com.lianniu.mgr.baseService.dict.dao
 * @Description: TODO

 * @date: 2016年3月29日 下午2:53:52 
 * @version: V1.0   
 */
package com.lianniu.mgr.baseService.dict.dao;

import java.util.List;

import org.apache.ibatis.annotations.Param;
import com.lianniu.mgr.baseService.dict.model.DictionaryKeyValueVo;
import com.lianniu.mgr.baseService.dict.model.DictionaryVo;

/** 
 * @ClassName: IDictionary 
 * @Description: TODO

 * @date: 2016年3月29日 下午2:53:52  
 */
public interface IDictionaryDao {
  
  /**
   * 
   * @Title: insertDictionary 
   * @Description: TODO

   * @param curDictionaryVo
   * @return
   * @date: 2016年3月29日 下午3:44:22 
   * @return: int
   */
  int insertDictionary(DictionaryVo curDictionaryVo);
  
  /**
   * 
   * @Title: selectByDictName 
   * @Description: TODO

   * @param curDictVo
   * @return
   * @date: 2016年3月29日 下午3:47:52 
   * @return: List<DictionaryVo>
   */
  List<DictionaryVo> selectByDictNameForPage(DictionaryVo curDictVo);
  
  /**
   * 
   * @Title: updateById 
   * @Description: TODO

   * @param curDictVo
   * @return
   * @date: 2016年3月29日 下午3:50:35 
   * @return: int
   */
  int updateById(DictionaryVo curDictVo);
  
  /**
   * 
   * @Title: deleteById 
   * @Description: TODO

   * @param Id
   * @return
   * @date: 2016年3月29日 下午4:04:12 
   * @return: int
   */
  int deleteById(String Id);

   /**
    * 
    * @Title: selectById 
    * @Description: TODO

    * @param id
    * @return
    * @date: 2016年3月31日 上午8:29:02 
    * @return: DictionaryVo
    */
   DictionaryVo selectById(String id);
   
   /**
    * 
    * @Title: deleteDictionaryBatch 
    * @Description: TODO

    * @param id
    * @return
    * @date: 2016年4月2日 下午10:34:06 
    * @return: int
    */
   int deleteDictionaryBatch(String...id);
   /**
    * 
    * @Title: count 
    * @Description: TODO

    * @param curDictVo
    * @return
    * @date: 2016年4月7日 上午8:44:59 
    * @return: int
    */
   int countDicName(DictionaryVo curDictVo);
   
   /**
    *  
    * @Title: countDicValue 
    * @Description: TODO

    * @param curDictVo
    * @return
    * @date: 2016年4月7日 上午8:47:58 
    * @return: int
    */
   int countDicValue(DictionaryVo curDictVo);
   
   /**
    * 
    * @Title: delBatchDictionaryLogic 
    * @Description: TODO

    * @param updateUser
    * @param id
    * @return
    * @date: 2016年4月8日 上午9:33:01 
    * @return: int
    */
   int delBatchDictionaryLogic(@Param(value = "updateUser") String updateUser,@Param(value = "ids") String...id);
   
   /**
    * 
    * @Title: 获取字典值 
    * @Description: TODO

    * @param curDictVo
    * @return
    * @date: 2016年4月8日 下午3:34:34 
    * @return: HashMap<String,String>
    */
   List<DictionaryKeyValueVo> selectDictionaryByDicType(DictionaryVo curDictVo);
   
 
  /**
   * @Description:根据字典类型和字典值查询字典名
   * @param dictTypeName
   * @param dictVal
   * @return String

   * @Date:2016年4月11日下午5:09:02
   * @Version 1.0.0
   */
  public String getDictNameByDictVal(@Param(value = "dictTypeName")String dictTypeName,@Param(value = "dictVal")String dictVal);
}
